package com.hibernate.hrm.service.contract;

import com.hibernate.hrm.dao.ContractRepository;
import com.hibernate.hrm.entity.Contract;
import jakarta.persistence.EntityNotFoundException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

// 法律条款解析服务
@Service
@RequiredArgsConstructor
public class LegalClauseAnalyzer {
    private final ContractRepository contractRepository;

    public String analyze(Integer contractId) {
        Contract contract = contractRepository.findById(contractId)
                .orElseThrow(() -> new EntityNotFoundException("合同不存在"));

        // 根据合同类型返回相关法律条款解析
        switch (contract.getContractType()) {
            case 劳动合同:
                return "相关法律条款：《劳动合同法》第17条、第22条；《民法典》第585条（违约金规则）";
            case 委托合同:
                return "相关法律条款：《民法典》第919条（委托合同定义）、第929条（受托人责任）";
            case 服务协议:
                return "相关法律条款：《民法典》第781条（服务合同定义）、第585条（违约金规则）";
            default:
                return "通用法律条款：《民法典》第465条（合同效力）、第577条（违约责任）";
        }
    }
}
